Diễn biến Chiến_tranh_Nguyên_Mông-Đại_Việt_lần_2

Nhà Nguyên chia làm 3 đạo tiến đánh Đại Việt. Đạo chủ lực do Thoát Hoan và Ariq Qaya chỉ huy từ Ninh Minh tiến vào Lộc Châu (nay là Lộc Bình, Lạng Sơn). Ngày 27 tháng 1 năm 1285 (dương lịch), đạo quân này chia làm 2 mũi tiến quân, một do Bolqadar chỉ huy theo đường Khâu Ôn (nay là Ôn Châu, Lạng Sơn), một do Satartai và Lý Bang Hiến chỉ huy đi theo đường núi Cấp Lĩnh (tức là từ Lộc Bình đi Sơn Động ngày nay). Đại quân của Thoát Hoan đi sau mũi thứ hai của Satartai và Lý Bang Hiến.[20] Chống lại đạo quân thứ nhất này của quân Nguyên là lực lượng chủ lực của quân Trần do đích thân Trần Quốc Tuấn chỉ huy.

Đạo thứ hai chỉ gồm hơn 1 nghìn quân Mông Cổ và Vân Nam do Nasirud Din từ Vân Nam vào Đại Việt qua vùng Tuyên Quang tiến theo sông Chảy. Vị chỉ huy quân Trần ở vùng này là Trần Nhật Duật.[21]

Đạo thứ ba là đạo quân đang chiến đấu ở Chiêm Thành do Toa Đô chỉ huy, tiến vào Đại Việt muộn hơn hai cánh trên, vào khoảng tháng 3 dương lịch, từ phía Nam.

Quân Trần phòng ngự và rút lui

Trận Sơn Động

Trận giao chiến đầu tiên giữa hai bên là trận tại ải Khả Ly.[22] Tướng Nguyên đi mở đường là Tôn Hựu đã đánh tan được quân Trần và bắt được các tướng Đỗ Vĩ và Đỗ Hựu. Sau khi vượt qua ải Khả Ly, quân Nguyên tiến tiếp tới ải Động Bản.[23] Tại đây, quân Nguyên lại thắng, giết được tướng Trần Sâm của Đại Việt.[24]

Chỉ 5 ngày sau, đại quân của Thoát Hoan tiến xuống từ Lộc Châu, cùng cánh quân của Bột La Đáp Nhĩ tràn qua các ải Vĩnh Châu, Thiết Lược, Chi Lăng. Ngày 2 tháng 2 năm 1285, quân Nguyên chia làm 6 mũi ồ ạt tấn công ải Nội Bàng nơi quân Trần tập trung một lực lượng lớn và có đại bản doanh của Trần Quốc Tuấn. Quân Trần bị tổn thất nặng nề; tướng Đoàn Thai của Đại Việt bị bắt.[25] Trong khi đó, cánh quân của Bolqadar đã qua ải Chi Lăng. Trần Quốc Tuấn phải thu quân về Vạn Kiếp. Theo Đại Việt sử ký toàn thư, quân Trần đã tan vỡ; Trần Quốc Tuấn thoát được là nhờ có Yết Kiêu kiên quyết giữ thuyền đợi chủ tướng.[18]

Trận Vạn Kiếp

Một lực lượng lớn quân Trần tập trung ở Vạn Kiếp, bao gồm cả lực lượng từ Nội Bàng rút về. Phát hiện thấy Đại Việt có hơn 1.000 thuyền đóng ở gần Vạn Kiếp, Thoát Hoan liền cho quân đi tìm và đóng gấp thuyền chặn đường rút của quân binh Đại Việt.

Ngày 11 tháng 2, thủy quân Nguyên do Ô Mã Nhi chỉ huy tấn công vào Vạn Kiếp và các trại quân Trần ở Chí Linh. Đại kịch chiến đã xảy ra. Tướng Nguyên cấp vạn hộ[26] là Nghê Nhuận bị tử trận. Tuy nhiên, quân Trần đã quyết định rút lui để tránh thế giặc mạnh, thực hiện nghi binh khiến địch mệt mỏi rồi mới phản công. Thấy bề tôi lo lắng, vua Trần cho khắc hai câu thơ cuối thuyền ngự:

Cối Kê việc cũ khanh nên nhớHoan, Diễn vẫn còn mười vạn quân

Ngày 14 tháng 2, Ô Mã Nhi đem quân vây quân của Trần Quốc Tuấn. Một trận thủy chiến lớn giữa 2 bên đã diễn ra. Vua Trần đã đem quân đến trợ chiến cho Trần Quốc Tuấn. Ô Mã Nhi đã không ngăn nổi quân Trần rút lui. Toàn bộ quân Trần rút khỏi Vạn Kiếp, Phả Lại, Bình Than về dàn trận bên bờ sông Hồng gần thành Thăng Long. Quân Nguyên tiến theo đường bộ về Thăng Long.[27]

Trận sông Đuống

Quân Nguyên từ Vạn Kiếp[28] đi theo đường qua Vũ Ninh,[29] Đông Ngạn.[30] Đến sông Đuống, các đơn vị quân Nguyên và quân Trần giáp chiến. Quân Trần bị thiệt hại nặng, nhiều thuyền lọt vào tay quân Nguyên.

Thoát Hoan cho dựng cầu phao để đưa đại quân vượt sông Đuống tiến về kinh thành của Đại Việt.[31]

Trận Thăng Long

Ngày 17 tháng 2, quân Nguyên dựng trại bên sông Hồng. Quân Trần do vua Trần Nhân Tông trực tiếp chỉ huy cũng lập các chiến lũy bằng gỗ bên bờ Bắc sông Hồng nghênh chiến. Dưới sông là lực lượng thủy quân đông đảo của Đại Việt. Mục đích của quân Trần trong trận này chỉ là cản bước quân Nguyên để kịp hoàn thành công tác sơ tán hoàng gia và dân chúng khỏi kinh thành, thực hiện kế hoạch 'vườn không nhà trống', đồng thời sử dụng chiến lược 'Tiêu thổ', đốt sạch các làng và đồng ruộng gần kinh thành. Khi quân Nguyên tiến đến bờ sông, quân Trần đã dùng súng bắn đá bắn vào quân Nguyên và thách đánh.

Tuy nhiên, đến chiều ngày 17 tháng 2, vua Trần sai Đỗ Khắc Chung sang doanh trại đối phương để giả đưa thư cầu hòa. Arig Qaya gửi thư cự tuyệt. Đỗ Khắc Chung ở lại doanh trại địch trinh sát đến sáng sớm hôm sau mới quay về. Liền sau đó, hai bên Nguyên-Việt đại chiến bên bờ sông Hồng. Sau khi thành Thăng Long đã trống không, quân Trần xuôi sông Hồng rút lui. Khi rút khỏi Thăng Long, quân Trần hãy còn rất đông.[32]

Quân Nguyên tiến đến đóng dưới chân thành một hôm rồi mới vào thành, chỉ thấy "cung thất nhẵn không". Thoát Hoan khao quân trong cung thành, nhưng rồi lại sớm rút quân khỏi thành (hoặc có lẽ không phải, vì theo tục lệ của người Thát, sau khi chiếm được bất kỳ thành trì nào họ cũng không đóng quân trong thành mà tìm một bãi rộng để dựng trướng, trại, do thành Thăng Long quá sát sông Hồng nên có thể họ qua lại bên kia sông để lập trại), trở lại trại đã lập bên bờ Bắc sông Hồng.[33] Vừa đợi Toa Đô từ phía Nam tiến lên, Thoát Hoan vừa phái Koncak, Mangqudai, Bolqadar theo đường bộ, Lý Hằng, Ô Mã Nhi theo đường thủy đuổi theo vua Trần.

Trận Thu Vật

Cánh quân của Nasirud Din đi theo sông Chảy tới trại Thu Vật[34] thì bị quân của Trần Nhật Duật chặn đánh. Tuy nhiên, do đại quân đều đã rút lui về Vạn Kiếp, nên Trần Nhật Duật cũng thu quân. Quân Nguyên một mặt đi dọc 2 bờ sông đuổi theo quân Trần, một mặt cử một đơn vị đi chặn đầu. Trần Nhật Duật phát hiện ra kế hoạch của quân Nguyên, nên ra lệnh bỏ thuyền lên bộ, rút lui an toàn về đến Bạch Hạc (Việt Trì) vào ngày 20 tháng 2 năm 1285. Sau đó, Trần Nhật Duật được điều vào mặt trận phía Nam ngăn Toa Đô.

Các trận đánh trên sông Hồng

Vua Trần, triều đình, tông thất và đại quân rút lui theo đường sông Hồng về hướng phủ Thiên Trường (Nam Định). Quân Nguyên chia làm 2 đường thủy bộ đuổi theo. Để cản địch, quân Trần liên tiếp bố trí một số trận đánh trên sông Hồng.

Trận đầu tiên là trận ở bãi Đà Mạc.[35] Quân Trần do Trần Bình Trọng chỉ huy đã chặn đánh quân Nguyên quyết liệt. Kết quả, 600 quân Thánh Dực ở đây đã kiềm chân được mấy ngàn quân Mông đang hăng máu. Qua 6 đợt tấn công, thiệt hại vô số, nhờ lực lượng chênh lệch quá lớn nên quân Nguyên mới phá được đội hình của quân Trần. Trần Bình Trọng bị bắt và hy sinh.[36]

Trận tiếp theo ở ải Hải Thị.[37] Quân Trần đã đóng cọc, đắp bờ chắn sông để ngăn đối phương. Tuy nhiên, quân Nguyên đã thủy bộ hợp đồng tác chiến, phá tan trận tuyến của quân Trần.

Quân Trần tập hợp lại lực lượng

Sau trận Hải Thị, quân Trần lui hẳn về đóng quân tại Thiên Trường (Nam Định) và Trường Yên (Ninh Bình). Đồng thời, phát hiện thấy quân Nguyên không đóng giữ Vạn Kiếp, Trần Quốc Tuấn cùng Phạm Ngũ Lão đã chỉ huy hơn 1 nghìn thuyền quay lại đóng ở Vạn Kiếp. Một thuộc tướng khác của Trần Quốc Tuấn là Nguyễn Lộc thực hiện tác chiến kiểu du kích rất mạnh ở vùng Vĩnh Bình (Lạng Sơn). Tin trinh sát đã khiến Ariq Qaya báo cáo với vua Nguyên rằng: "Bấy giờ ở 2 xứ Thiên Trường, Trường Yên mà Trần Nhật Huyên[38] trốn đến, binh lực lại tập hợp, Hưng Đạo vương tụ tập hơn 1 nghìn chiếc thuyền ở Vạn Kiếp, Nguyễn Lộc ở Vĩnh Bình".[39]

Ngay sau khi tập hợp lại lực lượng, quân Trần đã tiến hành phản công. Quân của vua Trần ngược sông Hồng lên giao chiến với quân Nguyên ở đoạn chảy qua huyện Lý Nhân ngày nay vào ngày 10 tháng 3 năm 1285, nhưng không thắng được, phải rút lui.[40]

Toa Đô bắc tiến

Cuối tháng 2, đầu tháng 3 năm 1285, đạo quân của Toa Đô đánh ra vùng Bố Chính (Quảng Bình ngày nay) rồi tiến ra Nghệ An. Trần Nhật DuậtTrịnh Đình Toản chỉ huy quân Trần ngăn địch, nhưng thất bại, phải rút lui. Toa Đô phái một đơn vị đánh ra Thanh Hóa. Tướng nhà Trần giữ Thanh Hóa là Chương Hiến hầu Trần Kiện mang 1 vạn quân ra đón hàng cánh quân Nguyên này

Ngày 9 tháng 3, quân Nguyên được Trần Kiện dẫn đường đã đi qua Vệ Bố (Quảng Xương) đánh úp quân Trần, giết được các tướng Đinh XaNguyễn Tất Thống[41].

Ngày 13 tháng 3, quân Nguyên lại được Trần Kiện dẫn đường đánh quân của Trần Quang Khải, giết được 2 chỉ huy của quân Trần. Do Trần Kiện đầu hàng và dẫn đường cho quân Nguyên làm cho quân Trần ở đây đã không thể giữ nổi Nghệ An-Thanh Hóa, phải rút lui.

Toa Đô tiến lên Thanh Hóa, sai con trai là Bách Gia Nô cùng các tướng Giảo Kỳ và Tangutai mang một cánh quân ra phối hợp với Thoát Hoan.

Cuộc rượt đuổi ở Hải Đông

Sau trận quân của vua Trần phản công quân Nguyên không thành và việc mặt trận Thanh-Nghệ bị tan vỡ, đại quân do vua Trần chỉ huy ở Thiên Trường và Trường Yên lâm vào thế bị ép từ 2 mặt Bắc-Nam. Để tìm cách hoãn binh, vua Trần sai Trần Dương đi sứ đến chỗ Thoát Hoan xin cầu hòa, và sai Đào Kiên mang công chúa An Tư là em út của Trần Thánh Tông đến cho Thoát Hoan. Thoát Hoan giam giữ Trần Dương và sai người đến đòi vua Trần đến gặp, nhưng vua Trần không nghe, tiếp tục mang quân rút chạy. Thoát Hoan mang quân đuổi theo[42].

Tình hình đó khiến Trần Quốc Tuấn lại bỏ Vạn Kiếp đem thuyền về cứu vua Trần. Trần Hưng Đạo đưa 2 vua Trần từ Thiên Trường dùng thuyền nhỏ đi qua cửa Giao Hải (cửa sông Hồng ở huyện Xuân Thủy, Nam Định) đi ra biển, ngược lên phía bắc rồi quay vào Tam Trĩ Nguyên (tức cửa sông Ba Chẽ, huyện Ba Chẽ tỉnh Quảng Ninh). Từ Tam Trĩ, vua Trần sai đem thuyền rồng lớn ra cửa Ngọc Sơn (Vạn Ninh, Móng Cái) để lừa quân Nguyên[43].

Thoát Hoan gặp các tướng do Toa Đô phái từ Thanh Hóa đến, được biết tình hình cánh quân Toa Đô bị đói vì thiếu lương, nên không vội tập hợp toàn quân vì áp lực về lương thực, bèn sai người ra lệnh cho Toa Đô tiến lên Thiên Trường kiếm lương; cùng lúc phát hiện vua Trần chạy ra Hải Đông, Thoát Hoan lại sai Lý Hằng, Ô Mã Nhi và Giảo Kỳ tiếp tục đuổi theo[44].

Khi thấy đạo quân của Toa Đô đã rời Thanh Hóa tiến lên đóng ở Trường Yên (Ninh Bình), ngày 7 tháng 4 năm 1285 (2 tháng 3 âm lịch), 2 vua Trần bỏ thuyền đi bộ đến Thủy Chú, lấy thuyền ra sông Nam Triệu (tức sông Bạch Đằng), rồi lại ra cửa Đại Bàng (tức cửa Văn Úc), dẫn quân theo đường biển tiến vào Thanh Hóa, thoát khỏi thế bị kìm kẹp và truy đuổi của đối phương.[31]

Mãi đến ngày 10 tháng 3 âm lịch (15 tháng 4 năm 1285), quân thủy của Giảo Kỳ, Tangutai mới tới cửa Tam Trĩ, còn cánh quân Lý Hằng cũng đuổi theo vua Trần ngoài biển nhưng không gặp. Sau đó quân Nguyên bắt được một số thuyền mà quân Trần bỏ lại, mới biết vua Trần đã bỏ thuyền lên bộ, liền đuổi theo 3 ngày 3 đêm nhưng không có kết quả, vì quân Trần đã chạy vào Thanh Hóa[45]

Nghe tin vua Trần chạy vào Thanh Hóa, Thoát Hoan lại điều Ô Mã Nhi mang 1300 quân thủy vào Thiên Trường cùng Toa Đô dẫn quân vào Thanh Hóa truy đuổi vua Trần, nhưng không tìm thấy mục tiêu.[46]

Lúc hai vua Trần chạy vào Thanh Hóa, nhiều quý tộc nhà Trần đã hàng quân Nguyên: ngoài Trần Kiện và Trần Tú Hoãn ở Thanh Hóa còn có hoàng tử Trần Ích Tắc, Trần Lộng, các tướng Phạm Cự Địa, Lê Diễn, Trịnh Long.

Sách Việt Nam sử lược của Trần Trọng Kim không thống nhất với các nguồn tài liệu khác như Nguyên sử, Đại Việt sử ký toàn thư, Khâm định Việt sử thông giám cương mục. Theo Việt Nam sử lược, Toa Đô đánh từ Chiêm Thành tới Nghệ An, đụng độ với quân Trần Quang Khải. Quân Trần thế yếu phải rút lui vào khu vực hiểm yếu cố thủ. Bị Trần Quang Khải chặn giữ, Toa Đô không tiến ra bắc được, phải cùng Ô Mã Nhi dùng thuyền vượt biển ra bắc hội binh với Thoát Hoan[47]. Dù mô tả Toa Đô không thể tiến quân ra bắc, nhưng Trần Trọng Kim trước đó lại nêu việc Toa Đô tiếp nhận Trần Kiện đầu hàng ở Nghệ An và sai quân đưa gia đình Trần Kiện về Yên Kinh; đoàn quân Nguyên này đi qua được Nghệ An ra bắc và tới biên giới Lạng Sơn thì Kiện bị Nguyễn Địa Lô bắn chết[48].

Quân Trần tổng phản công

Vua Trần rút vào Thanh Hóa để củng cố, tổ chức lại lực lượng. Trong lúc đó quân Nguyên của Thoát Hoan ở ngoài Bắc không hợp thủy thổ và thời tiết mùa hè nóng bức, bị mưa lớn, phát sinh bệnh tật, lại bị thiếu lương. Toa Đô mang quân mỏi mệt từ Thiên Trường, cùng Ô Mã Nhi lại vào Thanh Hóa truy kích vua Trần nhưng không tìm được, phải dừng lại kiếm lương[49].

Nắm được tình hình địch đang gặp khó khăn, tháng 4, vua Trần trở lại miền Bắc tấn công quân Nguyên, tập trung tấn công vào các mục tiêu của quân Nguyên ở khúc sông Hồng chảy qua Khoái Châu (Hưng Yên). Chiếm được vùng này, quân Trần sẽ từ đây đánh vào Thăng Long[49].

Trận Hàm Tử - Tây Kết

Lúc đó Thanh Hóa có cánh quân Toa Đô đóng giữ. Sau một thời gian không bắt được vua Trần, Toa Đô cùng Ô Mã Nhi mang quân trở lại phía bắc để phối hợp với Thoát Hoan.

Có những giả thuyết khác nhau về cử động của Toa Đô và quân Trần. Đại Việt sử ký toàn thư cho rằng: Toa Đô và Ô Mã Nhi ngày 7 tháng 5 âm lịch mới ra bắc, vì vậy hai tướng không dự trận Hàm Tử mà chỉ dự trận Tây Kết[50]. Hà Văn Tấn và Phạm Thị Tâm ủng hộ thuyết này[51]. Khâm định Việt sử thông giám cương mục cho rằng, Toa Đô và Ô Mã Nhi từ Thanh Hóa ra Bắc từ tháng 4 âm lịch, do đó hai tướng dự trận Hàm Tử và Tây Kết[52]. Trần Xuân Sinh ủng hộ thuyết này[53]. Riêng Việt Nam sử lược của Trần Trọng Kim không rõ căn cứ từ nguồn tài liệu nào cho rằng, Toa Đô bị Trần Quang Khải cầm chân ở Nghệ An suốt từ khi tiến từ Chiêm Thành ra, không ra bắc bằng đường bộ được, phải cùng Ô Mã Nhi đi đường biển ra bắc[47].

Do theo thuyết Toa Đô ra bắc vào tháng 5 âm lịch, mà một loạt trận đánh ở Bắc Bộ diễn ra từ tháng 4, Hà Văn Tấn và Phạm Thị Tâm cho rằng Trần Hưng Đạo chủ trương đưa quân vượt biển ra bắc, cắt đôi hai đạo quân Nguyên giữa Toa Đô và Thoát Hoan, không để tập hợp lại[49].

Trần Nhân Tông sai Trần Nhật Duật làm chánh tướng, Chiêu Thành Vương[54]Trần Quốc Toản làm phó tướng đi cùng với Nguyễn Khoái mang 5 vạn quân ra bắc đánh quân Nguyên ở Hàm Tử. Trần Trọng Kim và Trần Xuân Sinh cho rằng Toa Đô đụng độ với Trần Nhật Duật ở Hàm Tử[55]. Hà Văn Tấn và Phạm Thị Tâm theo Đại Việt sử ký toàn thư cho rằng Trần Nhật Duật đánh một đạo quân Nguyên nhưng không rõ tướng chỉ huy. Nhưng các nguồn tài liệu đều thống nhất rằng trong quân Trần Nhật Duật có tướng người Trung Quốc của nhà Tống cũ là Triệu Trung theo hàng. Trần Nhật Duật gặp binh thuyền Toa Đô ở bến Hàm Tử, bèn chia quân ra đánh. Hai bên chống nhau ác liệt. Toa Đô đi đường xa, giao chiến lâu ngày đã mỏi mệt, trông thấy cờ hiệu Tống của Triệu Trung, lo lắng tưởng rằng nhà Tống đã khôi phục sang giúp Đại Việt. Nhóm quân người Hoa trong hàng ngũ quân Trần đều muốn trả thù nên đánh rất hăng[50].

Trong khi đó quân Trần lại dùng kế ly gián, bắn tên gắn giấy sang bên quân Nguyên, nói rằng chỉ đánh người Thát Đát chứ không đánh người Hoa. Điều đó khiến nhiều tướng sĩ người Hoa trong quân Nguyên không tận lực chiến đấu hoặc trở giáo sang hàng quân Trần. Toa Đô bị thua to. Sau khi thua trận ở Hàm Tử quan, Toa Đô vẫn không biết rằng Thoát Hoan đã tháo chạy. Cánh quân Toa Đô đóng ở sông Thiên Mạc (đoạn sông HồngHưng Yên) và tìm cách liên lạc với Thoát Hoan. Được ít ngày, Toa Đô biết tin quân Thoát Hoan đã thất bại và rút chạy, bèn lui về Tây Kết (Khoái Châu). Ngày 24 tháng 6 năm 1285, Trần Hưng Đạo trực tiếp chỉ huy quân đánh Toa Đô. Toa ĐôÔ Mã Nhi thua, bỏ thuyền đi đường bộ ra phía biển. Trên đường chạy, Toa Đô bị quân Đại Việt bao vây, sau cùng bị tướng Vũ Hải của nhà Trần chém đầu. Ô Mã Nhi thì chạy thoát về Thanh Hóa. Theo Đại Việt sử ký toàn thư, vua Trần Nhân Tông trông thấy thủ cấp của Toa Đô thì cởi áo ngự phủ lên và nói "người làm tôi phải nên như thế này" rồi sai người khâm niệm tử tế[50].

Sử liệu dẫn khác nhau về các tướng tham chiến. Có tài liệu cho rằng Trần Nhật Duật cùng Trần Quốc Toản, Nguyễn Khoái và Triệu Trung cùng đánh trận Hàm Tử, có tài liệu dẫn rằng chỉ có Trần Nhật Duật và Triệu Trung đánh Hàm Tử, còn Nguyễn KhoáiTrần Quốc Toản đánh trận Tây Kết.[56]

Trận Chương Dương Độ

Trần Nhật Duật sai Trần Quốc Toản về Thanh Hoá báo tin thắng trận. Trần Quốc Tuấn bàn với Trần Nhân Tông quyết định mang toàn quân ra bắc đánh Thoát Hoan để lấy lại Thăng Long. Trần Quang Khải ở Nghệ An mới ra được cử làm chánh tướng, Phạm Ngũ LãoTrần Quốc Toản làm phó tướng; lại truyền lệnh cho Trần Nhật Duật phải ngăn không cho Toa Đô hợp binh được với Thoát Hoan.

Đại quân Thoát Hoan đóng ở Thăng Long cũng trong tình trạng lương thực sắp cạn, các chiến thuyền đóng ở bến Chương Dương.

Trần Quang Khải tiến ra bắc khá thuận lợi. Quân Trần nhanh chóng diệt nhiều đồn nhỏ của quân Nguyên, kết hợp dụ hàng quân người Hoa bỏ hàng ngũ quân Nguyên. Trong khi đó thì Trần Nhật Duật cũng giữ lại số quân để cầm chân Toa Đô, còn chia một số sang hợp với cánh quân Trần Quang Khải. Nhiều toán quân Trần trước kia bị tản mát, chưa tìm được vào Thanh Hoá, lúc đó gặp quân Trần Quang Khải đã cùng gia nhập nên lực lượng càng mạnh lên. Quân Trần chiếm được nhiều thuyền của địch ở bến đò.[57]

Quân Trần tiếp tục ngược sông Hồng phản công quân Nguyên. Trần Quang Khải cùng Phạm Ngũ Lão và Trần Quốc Toản đã tấn công quân Nguyên ở Chương Dương (huyện Thường Tín).[58] Quân Nguyên thường thấy quân Trần bị thua, khi đó thấy quân Trần đánh mạnh nên bị bất ngờ, tan tác bỏ chạy. Phần lớn các chiến thuyền quân Nguyên bị quân Trần đốt cháy hoặc chiếm.

Giải phóng Thăng Long

Sau các trận phản công thắng lợi trên sông Hồng, quân Trần quyết định tấn công giải phóng kinh thành Thăng Long. Lực lượng tham gia gồm các đơn vị thủy bộ chủ lực do Trần Quang Khải chỉ huy. Các đơn vị dân binh các địa phương lân cận do Trần Thông, Nguyễn Khả Lạp và Nguyễn Truyền chỉ huy. Sau khi đánh bại đơn vị quân Nguyên ngoài thành do Mã Vinh chỉ huy, quân Trần bắt đầu bao vây và công thành.

Tài liệu thời Nguyên chép rằng:

"Thủy lục đến đánh đại doanh, vây thành mấy vòng, tuy chết nhiều nhưng quân tăng thêm càng trở nên đông, quan quân sớm tối đánh rất khốn đốn, thiếu thốn, khí giới đều hết"[59] và "Người Giao chống đánh quan quân, tuy mấy lần thua tan, nhưng quân tăng càng đông, quan quân mỏi mệt, tử thương cũng nhiều, quân mã Mông Cổ không thể nào thi thố tài năng được".[60]

Trước sức tấn công mạnh mẽ và bền bỉ của quân Trần, quân Nguyên phải rút chạy khỏi thành Thăng Long về đóng ở bờ Bắc sông Hồng (khoảng Gia Lâm ngày nay).[61] Tại đây, đồn trại của quân Nguyên vẫn liên tục bị tấn công.

Trận sông Thiên Mạc

Toa Đô vẫn không biết rằng Thoát Hoan đã tháo chạy. Cánh quân Toa Đô đóng ở sông Thiên Mạc[62] và tìm cách liên lạc với Thoát Hoan. Được ít ngày, Toa Đô biết tin quân Thoát Hoan đã thất bại và rút chạy, bèn lui về Tây Kết.

Có tài liệu căn cứ vào Nguyên sử cho rằng Toa Đô sau trận thua ở Hàm Tử quan lại tiến vào Thanh Hoá đánh vua Trần lần nữa, nhưng không thu được kết quả nên lại trở ra tìm Thoát Hoan. Trận Tây Kết này còn được coi là trận Tây Kết thứ hai.[63]

Ngày 24 tháng 6 năm 1285, quân Trần do đích thân vua Trần chỉ huy tấn công đạo quân Nguyên này. Tướng Nguyên là Trương Hiển (chức tổng quản) đầu hàng quân Trần và dẫn đường cho quân Trần tấn công Toa Đô ở Tây Kết. Quân Nguyên bị giết rất nhiều. Toa Đô cũng bị tử trận. Ô Mã Nhi và Lưu Khuê đi thuyền nhỏ trốn thoát ra biển.[64]

Trận này một số sách sử chép khác nhau. Hà Văn Tấn và Phạm Thị Tâm (1972) cho biết Nguyên sử chép rằng: Toa Đô không tin Thoát Hoan đã rút, nên tiến quân lên tới tận Thăng Long, thấy không còn quân mình thì mới tin, đành rút quân lên phía Bắc, gặp quân Trần chặn đánh ở sông Càn Mãn (tức sông Thị Cầu) và tử trận tại đây.[64]

Quân Trần truy kích quân Nguyên

Ngày 10 tháng 6 năm 1285, Trần Quốc TuấnHưng Ninh vương Trần Tung dẫn hơn 2 vạn quân tấn công quân Nguyên ở bờ Bắc sông Hồng. Quân Nguyên cử Lưu Thế Anh dẫn quân ra đối phó, nhưng đại bại. Quân Nguyên rút chạy về phía Bắc.[65]

Khi rút chạy đến sông Như Nguyệt (sông Cầu), quân Nguyên bị đơn vị của Trần Quốc Toản chặn đánh. Quân Nguyên thua, không sang sông được, phải chạy về phía Vạn Kiếp. Chỉ huy quân Trần là Trần Quốc Toản đã hy sinh trong trận này.[66]

Chạy đến sông Sách (tức đoạn sông Thương chảy quan Vạn Kiếp), quân Nguyên bắc cầu phao định vượt sông, nhưng bị quân Trần do Trần Quốc Tuấn chỉ huy ập vào đánh. Lý Hằng đẩy lui được mũi quân Trần tấn công vào lưng quân Nguyên, chém được tướng Việt là Trần Thiệu. Nhưng một mũi quân Trần khác lại đánh vào sườn đội hình quân Nguyên đang vượt cầu phao. Quân Nguyên xô nhau chạy, cầu phao đứt, nhiều binh sĩ bị chết đuối.[67]

Sau khi vượt qua sông Sách, quân Nguyên chạy về hướng Tư Minh. Lý Hằng được cử chặn hậu, đề phòng quân Trần truy kích. Đến Vĩnh Bình, quân Nguyên lại bị quân Trần do Trần Quốc Hiến (Trần Quốc Nghiễn) chỉ huy chặn đánh. Lý Hằng bị trúng tên độc. Tương truyền, quân Nguyên phải giấu Thoát Hoan trong ống đồng để chạy trốn. Khi về đến Tư Minh, Lý Hằng ngấm thuốc độc chết, thọ 50 tuổi.[68]

Cánh quân Vân Nam của Nasirud Din chạy về Vân Nam, đến địa phận huyện Phù Ninh đã bị các đơn vị của Hà Đặc và Hà Chương tấn công. Quân Nguyên thua chạy, nhưng Hà Đặc tử trận.[69]